package org.xyl.repository;

import org.xyl.model.KnowledgeDocument;
import java.util.List;
import java.util.Map;

/**
 * 向量数据库服务接口
 */
public interface VectorDbService {
    
    /**
     * 初始化向量数据库连接
     */
    void initialize();
    
    /**
     * 存储文档向量
     * @param documents 知识文档列表
     */
    void storeDocuments(List<KnowledgeDocument> documents);
    
    /**
     * 根据查询文本搜索相关文档
     * @param query 查询文本
     * @param topK 返回结果数量
     * @param filters 元数据过滤条件
     * @return 相关文档列表
     */
    List<KnowledgeDocument> search(String query, int topK, Map<String, Object> filters);
    
    /**
     * 根据ID删除文档
     * @param documentId 文档ID
     */
    void deleteDocument(String documentId);
    
    /**
     * 清空集合
     */
    void clear();
}